// JavaScript Document

Ext.onReady(function() {
	
	Ext.BLANK_IMAGE_URL = '/bres/img/s.gif';	
	Ext.QuickTips.init();

	var auth = new Ext.form.FormPanel({
		region: 'center', 
		margins:'3 3 3 3',
		standardSubmit: true,
		labelWidth: 50,
		frame: true,
		labelPad: 10,
		defaultType: 'textfield',
		defaults: { msgTarget: 'side' },
		keys: [{
			key: Ext.EventObject.ENTER,
			fn: function() {
				loginHandler();
			}
		}],
		items: [{
			fieldLabel: 'Логин',
			width: 150,
			allowBlank: false,
			blankText: 'Это поле должно быть заполнено',
            id: 'user', value: 'test',
			name: 'username',
			inputType: 'textfield'
		},{
			fieldLabel: 'Пароль',
			width: 150,
			allowBlank:false,
			blankText: 'Это поле должно быть заполнено',	
            id: 'pass', value: 'test',
			name: 'password',
			inputType: 'password'
		},{
			fieldLabel: 'Модуль',
			xtype: 'radiogroup',
			items: [
				{boxLabel: 'main', name: 'module', inputValue: 'MainForm', checked: true},
				{boxLabel: 'admin', name: 'module', inputValue: 'AdminForm'}
			]
		}]
	});
	
	var logo = new Ext.Panel({
		region: 'west',
		width: 60,
		frame: false,
		border: false,
		bodyStyle: 'background: url(/bres/img/gpg-icon.png) center no-repeat;',
		margins:'3 0 3 3',
		cmargins:'3 3 3 3'
	});

	var loginHandler = function() {
		if (auth.getForm().isValid()) {
          var userName = Ext.getCmp( 'user' ).getValue();
          var userPass = Ext.getCmp( 'pass' ).getValue();
          Ext.Ajax.request({
              url: 'rest/auth/login?user='+userName+'&password='+userPass,
              success: function(response){
                  var ansv = Ext.decode(response.responseText);
                  if(ansv.success) {
                    document.location = '/baing';
                  } else {
                    error_mes('Ошибка автоизации',  ansv.errorMessage);
                  }
              }
          });
        } else {
          error_mes('Ошибка',  'Заполнены не все поля.');          
        }			
	};
	
	var win = new Ext.Window({
		title: 'Авторизация',
		resizable: false,
		closable: false,
		width: 323,
		height: 155,
		layout: 'border',
		items: [logo, auth],
		buttons: [{
			text: 'Войти',
			handler: loginHandler
		}]
	});
    
    var error_mes = function(tit, mes) {
        Ext.MessageBox.show({
            title: tit,
            width: 800,
            heigth: 600,
            msg: mes,
            buttons: Ext.MessageBox.OK,
            fn: null,
            icon: 'ext-mb-info'
        });
    };

  win.show();

});